package com.example.natatorium_management.contorller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.natatorium_management.entity.Gymnasium;
import com.example.natatorium_management.result.restful.R;
import com.example.natatorium_management.service.GymnasiumService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/Gymnasium")
public class GymnasiumController {
    @Autowired
    GymnasiumService gymnasiumService;

    /**
     * 分页游泳馆
     * @param current 1
     * @param size 1
     * @return 1
     */
    @GetMapping("/queryPage")
    public R<IPage<Gymnasium>> queryPage(int current,int size){
        return gymnasiumService.QueryPage(current,size);
    }

    /**
     * 新增游泳馆
     * @param gymnasium 1
     * @return 1
     */
    @PostMapping("/addGymnasium")
    public R<Gymnasium> addGymnasium(@RequestBody Gymnasium gymnasium){
        return gymnasiumService.addGymnasium(gymnasium);
    }

    /**
     * 根据id找游泳馆
     * @param gymnasiumId 1
     * @return 1
     */
    @GetMapping("/findGymnasiumById/{gymnasiumId}")
    public R<Gymnasium> findGymnasiumById(@PathVariable("gymnasiumId") int gymnasiumId){
        return gymnasiumService.findGymnasiumById(gymnasiumId);
    }

    /**
     * 更新游泳馆
     * @param gymnasium 1
     * @return 1
     */
    @PutMapping("/updateGymnasium")
    public R<Gymnasium> updateGymnasium( @RequestBody Gymnasium gymnasium){
       return gymnasiumService.updateGymnasium(gymnasium);
    }

    /**
     * 查找游泳池
     * @param gymnasium 1
     * @param current 1
     * @param size 1
     * @return 1
     */
    @PostMapping("/findGymnasium")
    public R<IPage<Gymnasium>> findGymnasium(@RequestBody Gymnasium gymnasium,@RequestParam int current,@RequestParam int size){
        return gymnasiumService.findGymnasium(gymnasium,current,size);
    }

    /**
     * 删除游泳池
     * @param id 1
     * @return 1
     */
    @DeleteMapping("/deleteGymnasiumById/{id}")
    public R<Gymnasium> deleteGymnasiumById(@PathVariable("id") int id) {
        return gymnasiumService.deleteGymnasiumById(id);
    }


}
